/*
 *                  BioJava development code
 *
 * This code may be freely distributed and modified under the
 * terms of the GNU Lesser General Public Licence.  This should
 * be distributed with the code.  If you do not have a copy,
 * see:
 *
 *      http://www.gnu.org/copyleft/lesser.html
 *
 * Copyright for this code is held jointly by the individual
 * authors.  These should be listed in @author doc comments.
 *
 * For more information on the BioJava project and its aims,
 * or to join the biojava-l mailing list, visit the home page
 * at:
 *
 *      http://www.biojava.org/
 * 
 * Created on Jun 22, 2007
 * 
 */

package org.biojava.services.das.dao;

public class Role {

	private final String role ;
	
	
	private Role(String type){
		role = type;
	}
	
	
	public static final Role user  = new  Role("user");
	public static final Role admin = new  Role("admin");
	
	
	public String toString(){
		return role;
	}
	
	
	public static boolean isAdmin(RegistryUser user){
		boolean isAdmin = false;
		if ( user == null)
			return false;
		if ( user.getRole() == null )
			return false;
	
		if (user.getRole().equals(Role.admin)){
			isAdmin = true;
		}
		return isAdmin;
	}
	
	public boolean equals(Role other){
		if ( this.role.equals(other.role) )
			return true;
		
		return false;
		
	}
	
	public int hashCode(){
		int h = 7;
        
        h = 31 * h + ( null == role ? 0 : role.hashCode());
        
        return h;
	}
	
}
